import { IsOptional, IsString } from "class-validator";

export class CreateSysLogDto {
    @IsString()
    module!: string;

    @IsString()
    type!: "create" | "update" | "delete" | "query";

    @IsString()
    action!: string;

    @IsOptional()
    @IsString()
    operatorId?: string | null;

    @IsOptional()
    @IsString()
    requestUrl?: string | null;

    @IsOptional()
    @IsString()
    requestMethod?: string | null;

    @IsOptional()
    @IsString()
    requestData?: string | null;

    @IsOptional()
    @IsString()
    oldData?: string | null;

    @IsOptional()
    @IsString()
    newData?: string | null;

    @IsOptional()
    @IsString()
    responseData?: string | null;

    @IsOptional()
    @IsString()
    ipAddress?: string | null;

    @IsOptional()
    @IsString()
    userAgent?: string | null;

    @IsOptional()
    createdAt?: Date;
}
